package com.example.administrator.basedemos.activity;

import android.view.View;

import com.example.administrator.basedemos.R;
import com.example.administrator.basedemos.base.BaseActivity;
import com.example.administrator.basedemos.sbdemo.BuBingObserver;
import com.example.administrator.basedemos.sbdemo.FightSubject;

import butterknife.OnClick;

/**
 * 创建者     ZCL
 * 创建时间   2018/3/16 15:20
 * 描述	      ${观察者模式是对象的行为模式 又叫做发布订阅模式 源-监听模式
 * 模型-视图模式  ta 定义了一种一对多的依赖关系  多个对象
 * 监听一个主题对象 对象发生改变时候所有观察者都自动更新自己}
 * <p>
 * 更新者     $Author$
 * 更新时间   $Date$
 * 更新描述   ${TODO}
 */

public class SubjectOberserableActivity extends BaseActivity {
    private FightSubject   mSubject;
    private BuBingObserver mBuBing;

    @Override
    public void initView() {
        mSubject = new FightSubject("进攻!!!");
        mBuBing = new BuBingObserver("BuBing");
        mSubject.addObservable(mBuBing);
    }

    @OnClick({R.id.sb_btn, R.id.sb_btn2})
    public void OnClik(View v) {
        switch (v.getId()) {
            case R.id.sb_btn:
                mSubject.change("进攻!!");
                break;
            case R.id.sb_btn2:
                //解除BU兵后补兵就不会再收到
                mSubject.deteObservable(mBuBing);

                break;

            default:
                break;
        }
    }

    @Override
    public void initData() {

    }

    @Override
    public int setLayoutId() {
        return R.layout.activity_sb;
    }
}
